#ifndef __LINK_H__
#define __LINK_H__
#include <stdio.h>
#include <stdlib.h>

#define datatype int

typedef struct  node
{
    datatype data;
    struct node* next;
}list;

list* creatlist(void);//创建单链表
datatype InsertHead(list*head , datatype data);//头插法
void linkshow(list* head);//查询
int  IistIsEmpty(list* head);//判空函数
datatype Inserttail(list*head, datatype data );//尾插法
datatype listdeletehead(list* head);//头删除法
datatype listdeletetail(list* head);//尾删除法
datatype sinsert(list*head, int data , int pos );//按位置插入
datatype sdelete(list*head,  int pos );//按位置删除
datatype slistshow(list*head,int pos );//按位置查询
datatype slistchange(list*head,int pos,int data);//按位置修改
void reverseLinkedList(list* head);//逆序
void LinkListSort(list *head);//排序
void InsertHead_LinkList(list *head,list *tail);


#endif